export function getRandomStr(e: number) {
  e = e || 32;
  const t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
  const a = t.length;
  let n = '';
  for (let i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));
  return n;
}

export function splitByUppercase(str: string) {
  // 使用正则表达式来匹配小写字母和大写字母之间的位置，并在它们之间插入一个空格
  return str.replace(/([a-z])([A-Z])/g, '$1 $2');
}

/**
 * 获取文件后缀
 * @param filename 文件名
 * @returns 文件后缀，全部转为小写
 */
export function getFileExt(filename: string) {
  const pos = filename.lastIndexOf('.');
  let suffix = '';
  if (pos !== -1) {
    suffix = filename.substring(pos).toLowerCase();
  }
  return suffix;
}

/**
 * 获取无后缀名文件名
 * @param filePath 文件名
 * @returns 无后缀名文件名
 */
export function getNameNoExt(filePath: string) {
  let pos = filePath.lastIndexOf('/');

  const filename = pos >= 0 ? filePath.substring(pos + 1) : filePath;
  pos = filename.lastIndexOf('.');
  return pos >= 0 ? filename.substring(0, pos) : filename;
}
